package com.ftg.midamall.util;

import org.apache.ibatis.jdbc.SQL;

/**
 * @author qjw
 * @version 1.0
 * @date 2023/10/30 21:56
 */

public class MapperUtilSql {

    /**
     * 用于拼接复杂分页的显示数量sql
     *
     * @param start 开始位置
     * @param limit 显示条目
     * @param sql   语句
     * @return String 语句
     */
    public String pageUtilSql(long start, long limit, String sql) {
        return new SQL().SELECT("*")
                .FROM("(" + sql + " ) t")
                .OFFSET(start)
                .LIMIT((int) limit).toString();
//                .LIMIT(Long.valueOf(limit).intValue()).toString();
    }

    /**
     * 直接查询
     *
     * @param sql 语句
     * @return String 语句
     */
    public String utilSelect(String sql) {
        return new SQL().SELECT("*")
                .FROM("(" + sql + " ) t").toString();
    }

    /**
     * 用于拼接复杂sql语句总条目数
     *
     * @param sql 语句
     * @return String
     */
    public String countUtil(String sql) {
        return new SQL().SELECT("count(1) num")
                .FROM("(" + sql + " ) t").toString();
    }
}
